import { getSign } from "@/utils/api"; // axios封装方法
import wx from "weixin-js-sdk"; // 在 index.html 里引入 js-sdk 也是一样的
// 调接口

export const useWxShare = async (
  title: string,
  desc: string,
  imgUrl: string
) => {
  // let wxUrl = location.href.split("#")[0];https://nxb.xiehewanbang.com/
  // let wxUrl = "https://nxb.xiehewanbang.com" + route.fullPath;
  let wxUrl = location.href.split("#")[0];
  const res = await getSign({ src: wxUrl });

  if (res.code == 1) {
    if (wx) {
      wx.config({
        debug: false, // 开启调试模式,微信打开时会一顿弹窗告诉你 ok 还是 ko
        appId: res.msg.appId, // 企业号的唯一标识
        timestamp: res.msg.timestamp, // 生成签名的时间戳
        nonceStr: res.msg.nonceStr, // 生成签名的随机串
        signature: res.msg.signature, // 签名
        jsApiList: [
          // 检查方法能不能用。
          //   "updateAppMessageShareData", // 分享给朋友时样式设置
          //   "updateTimelineShareData", // 分享到朋友圈时
          //   "onMenuShareAppMessage", //这个我这用不到，手动触发分享要用
          "updateAppMessageShareData",
          "updateTimelineShareData",
          "onMenuShareTimeline",
          "onMenuShareAppMessage",
        ], // 必填，需要使用的js接口列表，具体都是怎么回事去看 sdk 文档就行了。
      });
      wx.checkJsApi({
        jsApiList: [
          "updateAppMessageShareData",
          "updateTimelineShareData",
          "onMenuShareTimeline",
          "onMenuShareAppMessage",
        ], // 看看这俩方法能用不，debug true 时会弹 ok ok。
        success: function () {
          wx.ready(function () {
            wx.updateAppMessageShareData({
              title, // 分享时的标题
              desc, // 分享描述
              link: wxUrl, // 分享时的链接
              imgUrl,
              success: function () {

              },
              cancel: function () {

              },
            });
            wx.updateTimelineShareData({
              title,
              link: wxUrl,
              imgUrl,
              success: function (): void {
                throw new Error("updateTimelineShareData");
              },
            });
            wx.onMenuShareAppMessage({
              title, // 分享时的标题
              desc, // 分享描述
              link: wxUrl, // 分享时的链接
              imgUrl,
              success: function () {

              },
              cancel: function () {

              },
            });
            wx.onMenuShareTimeline({
              title, // 分享时的标题

              link: wxUrl, // 分享时的链接
              imgUrl,
              success: function () {

              },
              cancel: function () {

              },
            });
          });
        },
        fail: (error: any) => {
          console.log(error)
        },
      });
    }
  }
};
